package com.qf.contract.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
public class ContractApprovalViewDetailsVo {
    /**
     * 合同id主键
     */
    @TableId(value = "contract_id", type = IdType.INPUT)
    @ApiModelProperty(value = "合同id主键")
    private Integer contractId;
    /**
     * 合同名称
     */
    @TableField(value = "contract_name")
    @ApiModelProperty(value = "合同名称")
    private String contractName;
    /**
     * 合同编号
     */
    @TableField(value = "contract_number")
    @ApiModelProperty(value = "合同编号")
    private String contractNumber;
    /**
     * 合同金额
     */
    @TableField(value = "contract_amount")
    @ApiModelProperty(value = "合同金额")
    private Integer contractAmount;
    /**
     * 合同类型外键type_of_contract
     */
    @TableField(value = "type_of_contract")
    @ApiModelProperty(value = "合同类型外键type_of_contract")
    private Integer typeOfContract;
    /**
     * 合同开始日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @TableField(value = "contract_signing_date")
    @ApiModelProperty(value = "合同开始日期")
    private Date contractSigningDate;
    /**
     * 合同结束日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @TableField(value = "contract_stop_date")
    @ApiModelProperty(value = "合同结束日期")
    private Date contractStopDate;
    /**
     * 合同签订部门 默认人事
     */
    @TableField(value = "contract_signing_department")
    @ApiModelProperty(value = "合同签订部门 默认人事")
    private Integer contractSigningDepartment;
    /**
     * 申请人
     */
    @TableField(value = "applicant")
    @ApiModelProperty(value = "申请人")
    private String applicant;
    /**
     * 合同附件
     */
    @TableField(value = "appendices_of_a_contract")
    @ApiModelProperty(value = "合同附件")
    private String appendicesOfAContract;
    /**
     * 备注
     */
    @TableField(value = "notes")
    @ApiModelProperty(value = "备注")
    private String notes;
    /**
     * 签订单位 外键f_signing_unit
     */
    @TableField(value = "signing_unit")
    @ApiModelProperty(value = "签订单位 外键f_signing_unit")
    private Integer signingUnit;
    /**
     * 合同明细 外键f_contract_details
     */
    @TableField(value = "contract_details")
    @ApiModelProperty(value = "合同明细 外键f_contract_details")
    private Integer contractDetails;
    /**
     * 0代表拟稿，1代表直属领导审核，2代表分管领导审核，3代表办结
     */
    @TableField(value = "current_link")
    @ApiModelProperty(value = "0代表拟稿，1代表直属领导审核，2代表分管领导审核，3代表办结")
    private Integer currentLink;
    /**
     * 合同状态，0代表初稿，1代表审核中，2代表执行中，3代表变更中
     */
    @TableLogic(value = "0", delval = "1")
    @TableField(value = "contract_status")
    @ApiModelProperty(value = "合同状态，0代表初稿，1代表审核中，2代表执行中，3代表变更中")
    private Integer contractStatus;
    /**
     * 合同类型名
     */
    @TableField(value = "type_contract_name")
    @ApiModelProperty(value = "合同类型名")
    private String typeContractName;
    /**
     * 直属领导意见 0同意 1不同意 2领导审批
     */
    @TableField(value = "contract_leader_status_directly_under")
    @ApiModelProperty(value = "直属领导意见 0同意 1不同意 2领导审批")
    private Integer contractLeaderStatusDirectlyUnder;
    /**
     * 分管领导意见 0同意 1不同意 2领导审批
     */
    @TableField(value = "contract_leader_status_leader_in_charge")
    @ApiModelProperty(value = "分管领导意见 0同意 1不同意 2领导审批")
    private Integer contractLeaderStatusLeaderInCharge;
    /**
     * 财务意见 0同意 1不同意
     */
    @TableField(value = "contract_leader_status_reviewed_by_the_finance_department")
    @ApiModelProperty(value = "财务意见 0同意 1不同意")
    private Integer contractLeaderStatusReviewedByTheFinanceDepartment;
    /**
     * 直属领导备注 0同意 1不同意 2领导审批
     */
    @TableField(value = "contract_leader_status_directly_under_notes")
    @ApiModelProperty(value = "直属领导备注 0同意 1不同意 2领导审批")
    private Integer contractLeaderStatusDirectlyUnderNotes;
    /**
     * 分管领导意见备注 0同意 1不同意 2领导审批
     */
    @TableField(value = "contract_leader_status_leader_in_charge_notes")
    @ApiModelProperty(value = "分管领导意见备注 0同意 1不同意 2领导审批")
    private Integer contractLeaderStatusLeaderInChargeNotes;
    /**
     * 财务意见备注 0同意 1不同意
     */
    @TableField(value = "contract_leader_status_reviewed_by_the_finance_department_notes")
    @ApiModelProperty(value = "财务意见备注 0同意 1不同意")
    private Integer contractLeaderStatusReviewedByTheFinanceDepartmentNotes;
}
